{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#  Support Vector Machine with Grid Search\n",
    "SVM is trained on feature set 2"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##  Get the data "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Stored variables and their in-db values:\n",
      "X_16_val                  -> array([[ 3.00880939,  0.26443017,  1.05370334, ...\n",
      "X_32_val                  -> array([[-0.13964146,  0.53184264, -0.71694033, ...\n",
      "X_32test_std              -> defaultdict(<class 'list'>, {0: array([[-0.1396414\n",
      "X_32train_std             -> array([[-0.80277066, -0.49489511, -0.83240094, ...\n",
      "X_test                    -> defaultdict(<class 'list'>, {0: array([[[-0.006215\n",
      "X_test_std                -> defaultdict(<class 'list'>, {0: array([[ 3.0088093\n",
      "X_train                   -> array([[[-0.01174874, -0.00817356, -0.0042913 , ..\n",
      "X_train_std               -> array([[-0.80277066, -0.49489511, -0.83240094, ...\n",
      "snrs                      -> [-20, -18, -16, -14, -12, -10, -8, -6, -4, -2, 0, \n",
      "y_16_val                  -> array([3, 5, 1, ..., 2, 4, 0])\n",
      "y_32_test                 -> defaultdict(<class 'list'>, {0: array([2, 2, 3, ..\n",
      "y_32_train                -> array([5, 0, 2, ..., 4, 6, 6])\n",
      "y_32_val                  -> array([2, 2, 3, ..., 0, 3, 5])\n",
      "y_test                    -> defaultdict(<class 'list'>, {0: array([3, 5, 1, ..\n",
      "y_train                   -> array([5, 0, 2, ..., 4, 6, 6])\n"
     ]
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import warnings\n",
    "warnings.filterwarnings('ignore')\n",
    "\n",
    "import numpy as np\n",
    "from collections import defaultdict\n",
    "from time import time\n",
    "import pickle  \n",
    "import sklearn\n",
    "from sklearn import metrics\n",
    "from sklearn.model_selection import GridSearchCV\n",
    "\n",
    "%store -r\n",
    "%store"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Training data:  (80000, 32) and labels:  (80000,)\n",
      " \n",
      "Test data:\n",
      "Total 20 (4000, 32) arrays for SNR values:\n",
      "dict_keys([0, -16, 2, 4, 6, 8, 12, 10, -20, -14, -18, 16, 18, -12, 14, -10, -8, -6, -4, -2])\n"
     ]
    }
   ],
   "source": [
    "print(\"Training data: \", X_32train_std.shape, \"and labels: \", y_32_train.shape)\n",
    "print(\" \")\n",
    "print(\"Test data:\")\n",
    "print(\"Total\", len(X_32test_std), X_32test_std[18].shape, \"arrays for SNR values:\")\n",
    "print(X_32test_std.keys())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Train and test the classifier"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 3 folds for each of 36 candidates, totalling 108 fits\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done 108 out of 108 | elapsed: 1299.2min finished\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Grid search took 1322.00 minutes \n",
      "   \n",
      "Result of grid search, best estimator:\n",
      "SVC(C=100.0, cache_size=5000, class_weight=None, coef0=0.0,\n",
      "  decision_function_shape=None, degree=3, gamma=0.01, kernel='rbf',\n",
      "  max_iter=-1, probability=False, random_state=None, shrinking=True,\n",
      "  tol=0.001, verbose=False)\n"
     ]
    }
   ],
   "source": [
    "#Train the classifier\n",
    "\n",
    "from sklearn import svm\n",
    "\n",
    "params = {'C': np.logspace(-3, 2, 6), 'gamma': np.logspace(-3, 2, 6)}\n",
    "\n",
    "grid_search_cv = GridSearchCV(svm.SVC(cache_size = 5000), params, verbose=1)\n",
    "\n",
    "start = time()\n",
    "grid_search_cv.fit(X_32train_std, y_32_train)\n",
    "print(\"Grid search took %.2f minutes \"%((time() - start)//60))\n",
    "print(\"   \")\n",
    "print(\"Result of grid search, best estimator:\")\n",
    "print(grid_search_cv.best_estimator_)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Test the classifier\n",
      " \n",
      "SVM's accuracy on -20 dB SNR samples =  0.12225\n",
      "SVM's accuracy on -18 dB SNR samples =  0.1245\n",
      "SVM's accuracy on -16 dB SNR samples =  0.129\n",
      "SVM's accuracy on -14 dB SNR samples =  0.13225\n",
      "SVM's accuracy on -12 dB SNR samples =  0.14925\n",
      "SVM's accuracy on -10 dB SNR samples =  0.17225\n",
      "SVM's accuracy on -8 dB SNR samples =  0.2625\n",
      "SVM's accuracy on -6 dB SNR samples =  0.36225\n",
      "SVM's accuracy on -4 dB SNR samples =  0.4325\n",
      "SVM's accuracy on -2 dB SNR samples =  0.45375\n",
      "SVM's accuracy on 0 dB SNR samples =  0.54525\n",
      "SVM's accuracy on 2 dB SNR samples =  0.6985\n",
      "SVM's accuracy on 4 dB SNR samples =  0.79475\n",
      "SVM's accuracy on 6 dB SNR samples =  0.80675\n",
      "SVM's accuracy on 8 dB SNR samples =  0.804\n",
      "SVM's accuracy on 10 dB SNR samples =  0.81625\n",
      "SVM's accuracy on 12 dB SNR samples =  0.8115\n",
      "SVM's accuracy on 14 dB SNR samples =  0.815\n",
      "SVM's accuracy on 16 dB SNR samples =  0.8115\n",
      "SVM's accuracy on 18 dB SNR samples =  0.812\n"
     ]
    }
   ],
   "source": [
    "#Test the classifier\n",
    "\n",
    "import collections\n",
    "\n",
    "y_pred = defaultdict(list)\n",
    "accuracy = defaultdict(list)\n",
    "\n",
    "print(\"Test the classifier\")\n",
    "print(\" \")\n",
    "for snr in snrs:\n",
    "    y_pred[snr] = grid_search_cv.predict(X_32test_std[snr])\n",
    "    accuracy[snr] = metrics.accuracy_score(y_32_test[snr], y_pred[snr])\n",
    "    print(\"SVM's accuracy on %d dB SNR samples = \"%(snr), accuracy[snr])   \n",
    "    \n",
    "accuracy = collections.OrderedDict(sorted(accuracy.items()))  #sort by ascending SNR value"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##  Visualize classifier performance"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x22a009e4dd8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.style.use('classic')\n",
    "\n",
    "fig = plt.figure(figsize=(8, 4), dpi=100)\n",
    "x = snrs\n",
    "y = list(accuracy.values())\n",
    "plt.plot(x, y, marker=\"o\", linewidth=2.0, linestyle='dashed', color='royalblue')\n",
    "plt.axis([-20, 20, 0, 1])\n",
    "plt.xticks(np.arange(min(x), max(x)+1, 2.0))\n",
    "plt.yticks(np.arange(0, 1, 0.10))\n",
    "\n",
    "ttl = plt.title('SNR vs Accuracy', fontsize=16)\n",
    "ttl.set_weight('bold')\n",
    "plt.xlabel('SNR (dB)', fontsize=14)\n",
    "plt.ylabel('Test accuracy', fontsize=14)\n",
    "plt.grid()\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Confusion Matrix Without Normalization\n",
      "       8PSK  BPSK  CPFSK  GFSK  PAM4  QAM16  QAM64  QPSK\n",
      "8PSK    420     3      3     1     3     51     51    14\n",
      "BPSK      0   491      0     0     4      4      7     3\n",
      "CPFSK    19     1    494    19     0      9      5     6\n",
      "GFSK     20     0      3   480     0      3      5     4\n",
      "PAM4      1     3      0     0   489      5      1     0\n",
      "QAM16    13     2      0     0     3    165    146    16\n",
      "QAM64     5     0      0     0     0    227    266    14\n",
      "QPSK     22     0      0     0     1     36     19   443\n"
     ]
    }
   ],
   "source": [
    "# Confusion Matrix\n",
    "\n",
    "from sklearn.metrics import confusion_matrix\n",
    "import pandas as pd\n",
    "\n",
    "classes = ['8PSK', 'BPSK', 'CPFSK', 'GFSK', 'PAM4', 'QAM16', 'QAM64', 'QPSK']\n",
    "y_predicted = grid_search_cv.predict(X_32test_std[18])\n",
    "conf_matrix = confusion_matrix(y_predicted, y_32_test[18]) \n",
    "\n",
    "df = pd.DataFrame(data = conf_matrix, columns = classes, index = classes) \n",
    "print(\"Confusion Matrix Without Normalization\")\n",
    "print(df)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Confusion Matrix\n",
      "       8PSK  BPSK  CPFSK  GFSK  PAM4  QAM16  QAM64  QPSK\n",
      "8PSK   0.77  0.01   0.01  0.00  0.01   0.09   0.09  0.03\n",
      "BPSK   0.00  0.96   0.00  0.00  0.01   0.01   0.01  0.01\n",
      "CPFSK  0.03  0.00   0.89  0.03  0.00   0.02   0.01  0.01\n",
      "GFSK   0.04  0.00   0.01  0.93  0.00   0.01   0.01  0.01\n",
      "PAM4   0.00  0.01   0.00  0.00  0.98   0.01   0.00  0.00\n",
      "QAM16  0.04  0.01   0.00  0.00  0.01   0.48   0.42  0.05\n",
      "QAM64  0.01  0.00   0.00  0.00  0.00   0.44   0.52  0.03\n",
      "QPSK   0.04  0.00   0.00  0.00  0.00   0.07   0.04  0.85\n"
     ]
    },
    {
     "data": {
      "image/png": "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\nrkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7c30226cc0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Normalize the matrix\n",
    "\n",
    "conf_matrix = conf_matrix.astype('float') / conf_matrix.sum(axis=1)[:, np.newaxis]\n",
    "conf_matrix = conf_matrix.round(decimals = 2)\n",
    "\n",
    "df = pd.DataFrame(data = conf_matrix, columns = classes, index = classes) \n",
    "print(\"Confusion Matrix\")\n",
    "print(df)\n",
    "\n",
    "fig1 = plt.figure(figsize=(8, 4), dpi=100)\n",
    "plt.imshow(conf_matrix, interpolation = 'nearest', cmap = plt.cm.Purples)\n",
    "ticks = np.arange(len(classes))\n",
    "plt.title(\"Confusion Matrix\")\n",
    "plt.xticks(ticks, classes, rotation=45)\n",
    "plt.yticks(ticks, classes)\n",
    "\n",
    "plt.ylabel('True class')\n",
    "plt.xlabel('Predicted class')\n",
    "\n",
    "plt.tight_layout()\n",
    "plt.colorbar()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['svm2.1.pkl']"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.externals import joblib\n",
    "\n",
    "joblib.dump(grid_search_cv, \"svm2.1.pkl\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import pickle\n",
    "from sklearn.externals import joblib\n",
    "grid_search_cv = joblib.load(\"svm2.1.pkl\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
